`timescale 1ns/1ps
module StateFlipFlop_tb();
reg iPME;
reg [1:0] iPM;
reg [23:0] iPC;
reg iPCE;
reg [23:0] iRC;
reg iRCE;
reg iRME;
reg [23:0] iCS;
wire oPME;
wire [1:0]oPM;
wire [23:0] oPC;
wire oPCE;
wire [23:0] oRC;
wire oRCE;
wire oRME;
wire [23:0] oCS;

StateFlipFlop sff(.iPME(iPME), .iPM(iPM), .iPC(iPC), .iPCE(iPCE), .iRC(iRC), .iRCE(iRCE), .iRME(iRME), .iCS(iCS), .oPME(oPME), .oPM(oPM), .oPC(oPC), .oPCE(oPCE), .oRC(oRC), .oRCE(oRCE), .oRME(oRME), .oCS(oCS));

initial
begin
iPME = 1'b0;
iPM = 2'b0;
iPC = 24'b0;
iPCE = 1'b0;
iRC = 24'b0;
iRCE = 1'b0;
iRME = 1'b0;
iCS = 24'b1;
end

always
begin
#5 iPME = 1'b1;
#5 iPM = 2'b01;
#5 iCS = 24'b000000000000000011001010;
#5 iPME = 1'b0;
#5 iPCE = 1'b1;
#5 iPC = 24'b000000000000000011001010;
#5 iCS = 24'b000000000000000011001010;
#5 iPCE = 1'b0;
#5 iRCE = 1'b1;
#5 iRC = 24'b000000000000000011001010;
#5 iCS = 24'b000000000000000011001010;
#5 iRCE = 1'b0;
#5 iRME = 1'b1;
#5 iCS = 24'b000000000000000011001010;
#5 iRME = 1'b0;
#5 iCS = 24'b000000000000000011001010;
#5 iCS = 24'b1;
end

endmodule

